package com.llyb.chap09;

public class VolatileDemo {

    //保证可见性
    private volatile static  Integer flag = 1; //共享变量

    public static void main(String[] args)  throws InterruptedException {

        new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("我是子线程工作内存flag的值：" + flag); //副本  本地内存数据
                while(flag == 1){}
                System.out.println("子线程操作结束..." + flag);
            }
        }).start();

        Thread.sleep(500);

        flag = 2; //主线程修改flag的值：  从主内存拷贝副本到本地内存，修改，同步回主内存
        System.out.println("我是主线程工作内存flag的值：" + flag);
    }
}